"""
@Time : 2021/9/16 13:56 
@Author : 常雷
@File : t_28二进制的妙用.py 
@Software: PyCharm
"""
'''
输入一个字符串，输出该字符串中字符的所有组合
例如:
    输入: 1, 2, 3
    输出: 1, 2, 3, 12, 13, 23, 123( 组合数,不考虑顺序,所以12和21是等价的)
'''
list_s = input("请输入一个字符串\n>>>")
leng = len(list_s)
big_result = []
for i in range(1, 2**leng):
    # 变成等长的二进制 format(i, "0lengb")
    strc = '0'+str(leng)+'b'
    ss = format(i, strc)
    # format(i, f"0{leng}b")#格式化成定长的二进制
    result = ""
    for j in range(len(ss)):
        if ss[j] == "1":
            result += list_s[j]
    big_result.append(int(result))

big_result.sort()
print(big_result)